﻿using System;
using System.IO;

namespace SQSystem
{
    public static class FileAccessCheck
    {

        /// <summary>
        /// Überprüft ob eine Datei aktuell benutzt wird.
        /// </summary>
        /// <param name="filePath">Pfad inkl. Dateiname die überprüft werden soll.</param>
        /// <returns>TRUE->Datei wird bereits benutzt | FALSE->Datei wird nicht benutzt</returns>
        public static Boolean IsFileInUse(string filePath)
        {
            FileStream fileStream = null;
            try
            {
                using (fileStream)
                {
                   fileStream = System.IO.File.Open(filePath, FileMode.Open);
                } 
            }
            catch (System.IO.IOException exception)
            {
                return true;
            }
            finally
            {
                if (fileStream!= null)
                {
                    fileStream.Dispose();
                }
            }
            
            return false;
        }

    }
}
